package com.youlai.boot.system.model.form;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

@Schema(description = "旅行社表单对象")
@Getter
@Setter
public class DeptForm {

    @Schema(description="旅行社ID", example = "1001")
    private Long id;

    @Schema(description="旅行社名称", example = "研发部")
    @Length(max=100, message="旅行社名称长度不能超过100个字符")
    @NotBlank(message = "旅行社名称不能为空")
    private String name;

    @Schema(description="旅行社编号", example = "RD001")
    @Length(max=64, message="旅行社编号长度不能超过64个字符")
    @NotBlank(message = "旅行社编号不能为空")
    private String code;

    @Schema(description="父旅行社ID", example = "1000")
    @NotNull(message = "父旅行社ID不能为空")
    private Long parentId;

    @Schema(description="状态(1:启用;0:禁用)", example = "1")
    @Range(min = 0, max = 1, message = "状态值不正确")
    private Integer status;

    @Schema(description="排序(数字越小排名越靠前)", example = "1")
    private Integer sort;

    @Schema(description="检索码", example = "RD001")
    @Length(max=64, message="检索码长度不能超过64个字符")
    @NotBlank(message = "检索码不能为空")
    private String queryCode;

    @Schema(description="联系人", example = "RD001")
    @Length(max=64, message="联系人长度不能超过64个字符")
    private String contacts;

    @Schema(description="联系电话", example = "RD001")
    @Length(max=64, message="联系电话长度不能超过64个字符")
    private String mobile;

    @Schema(description="地址", example = "RD001")
    @Length(max=200, message="地址长度不能超过200个字符")
    private String address;

    @Schema(description="备注", example = "RD001")
    @Length(max=200, message="备注不能超过200个字符")
    private String remark;

}
